﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ВидыДоговоровКонтрагентов
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"d7e1216f-9096-4682-9f9a-d014dfaaa227\", \"Представление\":\"СПоставщиком\"}")]
		СПоставщиком = 0,//С поставщиком
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"56549803-7bdb-4518-b925-ddf885192465\", \"Представление\":\"СПокупателем\"}")]
		СПокупателем = 1,//С покупателем
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"c64a8c76-a5a9-4079-bb84-643df87bed37\", \"Представление\":\"СКомитентом\"}")]
		СКомитентом = 2,//С комитентом
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"59042191-902e-4291-963a-4877c8e29eb5\", \"Представление\":\"СКомиссионером\"}")]
		СКомиссионером = 3,//С комиссионером
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"cace72f6-5ae5-46cc-b8f5-d96eb3384c6a\", \"Представление\":\"Прочее\"}")]
		Прочее = 4,
	}
	public static partial class ВидыДоговоровКонтрагентов_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid СПоставщиком = new Guid("14d09a9f-aadf-27a2-4682-9096d7e1216f");//С поставщиком
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid СПокупателем = new Guid("f8dd25b9-1985-6524-4518-7bdb56549803");//С покупателем
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid СКомитентом = new Guid("3d6484bb-7bf8-37ed-4079-a5a9c64a8c76");//С комитентом
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid СКомиссионером = new Guid("77483a96-e2c8-b59e-4291-902e59042191");//С комиссионером
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid Прочее = new Guid("6ed9f5b8-38b3-6a4c-46cc-5ae5cace72f6");
		public static ВидыДоговоровКонтрагентов Получить(this ВидыДоговоровКонтрагентов Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыДоговоровКонтрагентов Получить(this ВидыДоговоровКонтрагентов Значение, Guid Ссылка)
		{
			if(Ссылка == СПоставщиком)
			{
				return ВидыДоговоровКонтрагентов.СПоставщиком;
			}
			else if(Ссылка == СПокупателем)
			{
				return ВидыДоговоровКонтрагентов.СПокупателем;
			}
			else if(Ссылка == СКомитентом)
			{
				return ВидыДоговоровКонтрагентов.СКомитентом;
			}
			else if(Ссылка == СКомиссионером)
			{
				return ВидыДоговоровКонтрагентов.СКомиссионером;
			}
			else if(Ссылка == Прочее)
			{
				return ВидыДоговоровКонтрагентов.Прочее;
			}
			return ВидыДоговоровКонтрагентов.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыДоговоровКонтрагентов Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыДоговоровКонтрагентов Значение)
		{
			switch (Значение)
			{
				case ВидыДоговоровКонтрагентов.СПоставщиком: return СПоставщиком;
				case ВидыДоговоровКонтрагентов.СПокупателем: return СПокупателем;
				case ВидыДоговоровКонтрагентов.СКомитентом: return СКомитентом;
				case ВидыДоговоровКонтрагентов.СКомиссионером: return СКомиссионером;
				case ВидыДоговоровКонтрагентов.Прочее: return Прочее;
			}
			return Guid.Empty;
		}
	}
}